#ifndef MYPACKETPROCESSOR_H
#define MYPACKETPROCESSOR_H

#include <memory>
#include <sstream>
#include <iomanip>

//////////////////////////////////////////////////////////////////////////
// #include <iostream>
//////////////////////////////////////////////////////////////////////////

#include "MyBuffer.h"
#include "exports.h"
#include <QAction>

#define PACK_IOCTL_INTERNAL_USB_CYCLE_PORT                  0
#define PACK_IOCTL_INTERNAL_USB_GET_BUS_INFO                1
#define PACK_IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME         2
#define PACK_IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO      3
#define PACK_IOCTL_INTERNAL_USB_GET_HUB_NAME                4
#define PACK_IOCTL_INTERNAL_USB_GET_PORT_STATUS             5
#define PACK_IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS        6
#define PACK_IOCTL_INTERNAL_USB_RESET_PORT                  7
#define PACK_IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION    8
#define PACK_IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION  9
#define PACK_IOCTL_USB_GET_HUB_CAPABILITIES                 10
#define PACK_IOCTL_USB_GET_HUB_CAPABILITIES_EX              11
#define PACK_IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME   12
#define PACK_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION      13
#define PACK_IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX   14
#define PACK_IOCTL_USB_GET_NODE_CONNECTION_NAME             15
#define PACK_IOCTL_USB_GET_NODE_INFORMATION                 16
#define PACK_IOCTL_USB_GET_ROOT_HUB_NAME                    17
#define PACK_IOCTL_USB_HUB_CYCLE_PORT                       18
#define PACK_IOCTL_USB_USER_REQUEST                         19


#define PACK_URB_SELECT_INTERFACE                  20
#define PACK_URB_SELECT_CONFIGURATION              21
#define PACK_URB_PIPE_REQUEST                      22
#define PACK_URB_GET_CURRENT_FRAME_NUMBER          23
#define PACK_URB_CONTROL_TRANSFER                  24
#define PACK_URB_CONTROL_TRANSFER_EX               25
#define PACK_URB_BULK_OR_INTERRUPT_TRANSFER        26
#define PACK_URB_ISOCH_TRANSFER                    27
#define PACK_URB_CONTROL_DESCRIPTOR_REQUEST        28
#define PACK_URB_CONTROL_GET_STATUS_REQUEST        29
#define PACK_URB_CONTROL_FEATURE_REQUEST           30
#define PACK_URB_CONTROL_VENDOR_OR_CLASS_REQUEST   31
#define PACK_URB_CONTROL_GET_INTERFACE_REQUEST     32
#define PACK_URB_CONTROL_GET_CONFIGURATION_REQUEST 33
#define PACK_URB_OS_FEATURE_DESCRIPTOR_REQUEST     34

#endif // MYPACKETPROCESSOR_H
